Lecture 21: Dynamic Programming Iii: Parenthesization, Edit Distance, Knapsack